home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 07 - 1991 / 07.04 Apr 91 / Code Optimizing / Sources / Mxmpy.f.opt1.a < prev    next >
Encoding:
Text File  |  1990-04-13  |  4.9 KB  |  239 lines  |  [TEXT/MPS ]

  1. ;    Assembler source from Language Systems FORTRAN (Version 2.0 January 23, 1990)
  2. ;    Fri, Apr 13, 1990   21:59
  3. ;    Optimization Level 1.
  4.  
  5.         BLANKS ON
  6.         STRING ASIS
  7.         PRINT OFF
  8.         INCLUDE 'Traps.a'
  9.         INCLUDE 'ToolEqu.a'
  10.         INCLUDE 'QuickEqu.a'
  11.         INCLUDE 'SysEqu.a'
  12.         INCLUDE 'SANEMacs.a'
  13.         PRINT ON
  14.  
  15.  ;  File "Mxmpy.f";  Line          1
  16.         SEG    'Mxmpy'
  17. MXMPY    PROC EXPORT
  18.         LINK    A6,#$FFFFFF44
  19.         MOVEM.L    D5-D7,-(SP)
  20.  ;  File "Mxmpy.f";  Line         17
  21.         BRA        L10002
  22. L10001    EQU    *
  23.         MOVE.L    #$00000001,$FFFFFFAC(A6)
  24.         MOVEA.L    $0010(A6),A0
  25.         MOVE.L    (A0),$FFFFFFB0(A6)
  26.         MOVE.L    #$0000000A,$FFFFFF64(A6)
  27.         MOVEA.L    $0010(A6),A0
  28.         MOVE.L    (A0),D0
  29.         ADD.L    D0,D0
  30.         MOVE.L    D0,D1
  31.         ASL.L    #2,D0
  32.         ADD.L    D1,D0
  33.         MOVE.L    D0,$FFFFFF64(A6)
  34.         MOVE.L    $FFFFFF64(A6),$FFFFFFB4(A6)
  35.         MOVE.L    #$00000001,$FFFFFFB8(A6)
  36.         MOVEA.L    $000C(A6),A0
  37.         MOVE.L    (A0),$FFFFFFBC(A6)
  38.         MOVE.L    $FFFFFFB4(A6),$FFFFFF64(A6)
  39.         MOVEA.L    $000C(A6),A0
  40.         MOVE.L    $FFFFFF64(A6),D1
  41.         EXG        D0,D1
  42.         MOVE.L    D1,-(SP)
  43.         MOVE.L    (A0),D1
  44.         IMPORT    F_IMUL
  45.         JSR        F_IMUL
  46.         MOVE.L    (SP)+,D1
  47.         EXG        D0,D1
  48.         MOVE.L    D1,$FFFFFF64(A6)
  49.         MOVE.L    $FFFFFF64(A6),$FFFFFFC0(A6)
  50.         MOVE.L    #$00000001,$FFFFFFC4(A6)
  51.         MOVEA.L    $000C(A6),A0
  52.         MOVE.L    (A0),$FFFFFFC8(A6)
  53.         MOVE.L    #$0000000A,$FFFFFF6C(A6)
  54.         MOVEA.L    $000C(A6),A0
  55.         MOVE.L    (A0),D0
  56.         ADD.L    D0,D0
  57.         MOVE.L    D0,D1
  58.         ASL.L    #2,D0
  59.         ADD.L    D1,D0
  60.         MOVE.L    D0,$FFFFFF6C(A6)
  61.         MOVE.L    $FFFFFF6C(A6),$FFFFFFCC(A6)
  62.         MOVE.L    #$00000001,$FFFFFFD0(A6)
  63.         MOVEA.L    $0008(A6),A0
  64.         MOVE.L    (A0),$FFFFFFD4(A6)
  65.         MOVE.L    $FFFFFFCC(A6),$FFFFFF6C(A6)
  66.         MOVEA.L    $0008(A6),A0
  67.         MOVE.L    $FFFFFF6C(A6),D1
  68.         EXG        D0,D1
  69.         MOVE.L    D1,-(SP)
  70.         MOVE.L    (A0),D1
  71.         IMPORT    F_IMUL
  72.         JSR        F_IMUL
  73.         MOVE.L    (SP)+,D1
  74.         EXG        D0,D1
  75.         MOVE.L    D1,$FFFFFF6C(A6)
  76.         MOVE.L    $FFFFFF6C(A6),$FFFFFFD8(A6)
  77.         MOVE.L    #$00000001,$FFFFFFDC(A6)
  78.         MOVEA.L    $0010(A6),A0
  79.         MOVE.L    (A0),$FFFFFFE0(A6)
  80.         MOVE.L    #$0000000A,$FFFFFF74(A6)
  81.         MOVEA.L    $0010(A6),A0
  82.         MOVE.L    (A0),D0
  83.         ADD.L    D0,D0
  84.         MOVE.L    D0,D1
  85.         ASL.L    #2,D0
  86.         ADD.L    D1,D0
  87.         MOVE.L    D0,$FFFFFF74(A6)
  88.         MOVE.L    $FFFFFF74(A6),$FFFFFFE4(A6)
  89.         MOVE.L    #$00000001,$FFFFFFE8(A6)
  90.         MOVEA.L    $0008(A6),A0
  91.         MOVE.L    (A0),$FFFFFFEC(A6)
  92.         MOVE.L    $FFFFFFE4(A6),$FFFFFF74(A6)
  93.         MOVEA.L    $0008(A6),A0
  94.         MOVE.L    $FFFFFF74(A6),D1
  95.         EXG        D0,D1
  96.         MOVE.L    D1,-(SP)
  97.         MOVE.L    (A0),D1
  98.         IMPORT    F_IMUL
  99.         JSR        F_IMUL
  100.         MOVE.L    (SP)+,D1
  101.         EXG        D0,D1
  102.         MOVE.L    D1,$FFFFFF74(A6)
  103.         MOVE.L    $FFFFFF74(A6),$FFFFFFF0(A6)
  104.         RTS
  105. L10002    EQU    *
  106.         BSR        L10001
  107.  ;  File "Mxmpy.f";  Line         18
  108.         MOVE.L    #$00000001,$FFFFFFA0(A6)
  109.         MOVEA.L    $0010(A6),A1
  110.         MOVE.L    (A1),D5
  111.         BLE        L10004
  112. L10003    EQU    *
  113.  ;  File "Mxmpy.f";  Line         19
  114.         MOVE.L    #$00000001,$FFFFFFA4(A6)
  115.         MOVEA.L    $0008(A6),A1
  116.         MOVE.L    (A1),D6
  117.         BLE        L10006
  118. L10005    EQU    *
  119.  ;  File "Mxmpy.f";  Line         20
  120.         LEA        $FFFFFFF4(A6),A1
  121.         CLR.L    (A1)+
  122.         CLR.L    (A1)+
  123.         CLR.W    (A1)+
  124.  ;  File "Mxmpy.f";  Line         21
  125.         MOVE.L    #$00000001,$FFFFFFA8(A6)
  126.         MOVEA.L    $000C(A6),A1
  127.         MOVE.L    (A1),D7
  128.         BLE        L10008
  129. L10007    EQU    *
  130.  ;  File "Mxmpy.f";  Line         22
  131.         MOVE.L    $FFFFFFA0(A6),D1
  132.         SUB.L    $FFFFFFAC(A6),D1
  133.         ADD.L    D1,D1
  134.         MOVE.L    D1,D0
  135.         ASL.L    #2,D1
  136.         ADD.L    D0,D1
  137.         MOVE.L    $FFFFFFA8(A6),D2
  138.         SUB.L    $FFFFFFB8(A6),D2
  139.         EXG        D0,D2
  140.         MOVE.L    D1,-(SP)
  141.         MOVE.L    $FFFFFFB4(A6),D1
  142.         IMPORT    F_IMUL
  143.         JSR        F_IMUL
  144.         MOVE.L    (SP)+,D1
  145.         EXG        D0,D2
  146.         ADD.L    D1,D2
  147.         MOVE.L    D2,$FFFFFF60(A6)
  148.         MOVE.L    $FFFFFFA8(A6),D1
  149.         SUB.L    $FFFFFFC4(A6),D1
  150.         ADD.L    D1,D1
  151.         MOVE.L    D1,D0
  152.         ASL.L    #2,D1
  153.         ADD.L    D0,D1
  154.         MOVE.L    $FFFFFFA4(A6),D2
  155.         SUB.L    $FFFFFFD0(A6),D2
  156.         EXG        D0,D2
  157.         MOVE.L    D1,-(SP)
  158.         MOVE.L    $FFFFFFCC(A6),D1
  159.         IMPORT    F_IMUL
  160.         JSR        F_IMUL
  161.         MOVE.L    (SP)+,D1
  162.         EXG        D0,D2
  163.         ADD.L    D1,D2
  164.         MOVE.L    D2,$FFFFFF64(A6)
  165.         MOVEA.L    $0018(A6),A1
  166.         ADDA.L    $FFFFFF64(A6),A1
  167.         MOVE.L    A1,-(SP)
  168.         MOVEA.L    $001C(A6),A0
  169.         ADDA.L    $FFFFFF60(A6),A0
  170.         LEA        $FFFFFF78(A6),A1
  171.         MOVE.L    A1,-(SP)
  172.         MOVE.L    (A0)+,(A1)+
  173.         MOVE.L    (A0)+,(A1)+
  174.         MOVE.W    (A0)+,(A1)+
  175.         MOVE.W    #FOMUL,-(SP)
  176.         _FP68K
  177.         PEA        $FFFFFF78(A6)
  178.         PEA        $FFFFFFF4(A6)
  179.         MOVE.W    #FOADD,-(SP)
  180.         _FP68K
  181.  ;  File "Mxmpy.f";  Line         23
  182.         ADDQ.L    #1,$FFFFFFA8(A6)
  183.         SUBQ.L    #1,D7
  184.         BGT        L10007
  185. L10008    EQU    *
  186.  ;  File "Mxmpy.f";  Line         24
  187.         MOVE.L    $FFFFFFA0(A6),D1
  188.         SUB.L    $FFFFFFDC(A6),D1
  189.         ADD.L    D1,D1
  190.         MOVE.L    D1,D0
  191.         ASL.L    #2,D1
  192.         ADD.L    D0,D1
  193.         MOVE.L    $FFFFFFA4(A6),D2
  194.         SUB.L    $FFFFFFE8(A6),D2
  195.         EXG        D0,D2
  196.         MOVE.L    D1,-(SP)
  197.         MOVE.L    $FFFFFFE4(A6),D1
  198.         IMPORT    F_IMUL
  199.         JSR        F_IMUL
  200.         MOVE.L    (SP)+,D1
  201.         EXG        D0,D2
  202.         ADD.L    D1,D2
  203.         MOVE.L    D2,$FFFFFF84(A6)
  204.         LEA        $FFFFFFF4(A6),A0
  205.         MOVEA.L    $0014(A6),A1
  206.         ADDA.L    $FFFFFF84(A6),A1
  207.         MOVE.L    (A0)+,(A1)+
  208.         MOVE.L    (A0)+,(A1)+
  209.         MOVE.W    (A0)+,(A1)+
  210.  ;  File "Mxmpy.f";  Line         25
  211.         ADDQ.L    #1,$FFFFFFA4(A6)
  212.         SUBQ.L    #1,D6
  213.         BGT        L10005
  214. L10006    EQU    *
  215.  ;  File "Mxmpy.f";  Line         26
  216.         ADDQ.L    #1,$FFFFFFA0(A6)
  217.         SUBQ.L    #1,D5
  218.         BGT        L10003
  219. L10004    EQU    *
  220.  ;  File "Mxmpy.f";  Line         27
  221.         LEA        $0020(A6),A1
  222.         MOVEA.L    $0004(A6),A0
  223.         MOVEM.L    (SP)+,D5-D7
  224.         UNLK    A6
  225.         MOVEA.L A1,A7
  226.         JMP        (A0)
  227.  ;  File "Mxmpy.f";  Line         27
  228. PROCSTR    EQU    *
  229.         DC.W    $FFFF8006
  230.         DC.B    'MXMPY '
  231.         DC.W    $0000
  232. EXTDCONST    EQU        *
  233.         DC.W    $0000,$0000,$0000,$0000,$0000
  234.  
  235.         ENDPROC
  236.  
  237.  
  238.         END
  239.